Golang Job: Internship program 2023

Job added on

Company

Nethermind

Location

London, England - United Kingdom

Job type

Full-Time

Golang Job Details

What are we all about?

We are a team of world class builders and researchers with expertise across several domains: Ethereum Protocol Engineering, Layer-2, Decentralized Finance (DeFi), Miner Extractable Value (MEV), Smart Contract Development, Security Auditing and Formal Verification.

Working to solve some of the most challenging problems in the blockchain space, we frequently collaborate with renowned companies, such as Ethereum Foundation, StarkWare, Gnosis Chain, Aave, Flashbots, xDai, Open Zeppelin, Forta Protocol, Energy Web, POA Network and many more.

We actively contribute to Ethereum core development, EIP's and network upgrades together with the Ethereum Foundation, and other client teams.

Today, there are nearly 200 of us working remotely from over 45+ countries.

You can view all our open positions here: https://jobs.nethermind.io/

Note: Thank you for your interest in our internship program. We have had high numbers of people showing interest and we are extremely humbled by this. Due to high demand, we only have limited spaces for the next few months and we will only be interviewing and hiring the top candidates. This may change in the future.

Please note that we will continue to accept applications and will interview only the candidates that are the best fit for Nethermind. We have already reached our quota for December and January. We look forward to reviewing your application and potentially welcoming you to our team.

If you don't get picked the first time around don't get discouraged! We are incredibly lucky to get extremely skilled and talented people applying and it often is a difficult choice to make. Just continue learning and developing your skills and try again in a few months.


Nethermind's commitment to our interns

As an intern at Nethermind, you'll be given full autonomy to decide what projects you want to work on, what skills you want to gain or refine, and which teams you want to work with. We will encourage and push you to succeed.

This internship aims to provide you with a valuable learning experience. Our goal is to help you develop new skills, expand your knowledge, and to acquire practical experience in your field of interest. We hope that with a rich learning environment, guidance and support, you will grow and thrive during your time with us. We are committed to providing all interns with opportunities to learn and challenge themselves, and we will do what we can to help you achieve your goals and make the most of the internship here at Nethermind.


How does the Internship work?

Many of these topics are new to me; can I have study time?

We allow the study time you require for anything related to what we do.

What are the working hours?

Our working hours are flexible to suit the needs of the individual. You must be available for a minimum of 20 hours per week to get the best out of the internship program.

Where is it located?

We are a globally distributed team, and we are a remote-first organization. Our entire team works fully remotely.

Is it paid?

Yes, our internship program is paid. You will either be paid your country's national minimum wage or $6.25 per hour, whichever is greater.

NB: There are certain countries where we have some difficulty paying you directly in fiat currency i.e. dollars or GBP. For these countries, you will be paid in cryptocurrency. Please speak to a member of our team to confirm if this will affect you.

When does it start?

Our internship program is open all year round, and you can apply anytime.

What is the duration of the internship?

The internship duration is flexible and can range from 1-3 months, depending on the availability of the individual. Most of our interns stay in the program for the full three months.

Is it possible to extend the duration of the internship?

The internship program has a set duration and cannot be lengthened or extended beyond the specified time frame.

Do you hold a daily stand-up meeting?

Yes. Each team holds a daily stand-up meeting to discuss what each team member is working on, and it is an opportunity to ask questions.

Will I have a mentor?

Yes. All interns are assigned a mentor with whom they can seek help and guidance.

What tool do you use for communication?

We use Slack daily, and it is our primary medium of communication. All interns are added to our Slack workspace.

What teams can I work with?

Throughout the internship, you can choose to work in one or more of the following groups depending on your skills, knowledge, and preference:


Nubia

https://www.cairo-lang.org/

https://ethereum.org/en/developers/docs/layer-2-scaling/

Team Nubia develops tools for StarkNet, a layer 2 scaling solution. The team also works with protocols like Aave to port their codebase to StarkNet. Some of the tools developed by Nubia that you might have heard of are:

  • Warp - compiler from Solidity to Cairo
  • Voyager - block explorer for StarkNet
  • Juno - full-node client for StarkNet.

Skills that you will use and learn at the Nubia team include but are not limited to:

  • Low-level programming (assembler skills, C / embedded devices programming), CairoLang
  • Compilers / LLVM / assembly code / runtimes
  • Ethereum Virtual Machine (EVM)
  • Abstract algebra
  • Cryptography
  • Zero-Knowledge Proofs
  • Solidity programming
  • Financial mathematics (Options pricing, Monte Carlo simulations)

Trantor

https://nethermind.io/research/

https://nethermind.io/defi-for-institutions/

Trantor is a group of tech-savvy blockchain & financial professionals that specialize in Technical Due Diligence (TechDD), DeFi Research, and Data Solutions for Institutional Clients entering and expanding in the blockchain & DeFi space.

Skills that you will use and learn in the Trantor team include but are not limited to:

DeFi Research

  • Academic writing
  • Business writing
  • Technical writing
  • How to perform the research professionally and factually
  • Discover and detect valuable information from Crypto Twitter, Community Discord, and Protocol Forums
  • Research tools (Parsec, Nansen)

Technical Due Diligence

  • How to investigate and evaluate various types of projects based on data and publicly available information
  • How to see the business value in proposed products & protocols
  • What are the most common Tokenomics models, and what are their principles
  • Understand best practices of Risk Management
  • How to communicate with internal & external stakeholders

Data Solutions

  • Building data analytics tools while using on-chain and off-chain data (Clouds, SQL, Python, data scrapping, data standardization, data orchestration, various blockchains, DeFi Lama, Elastic)
  • Data visualization (Kibana, Metabase, Graphana, Dune Dashboards, Nansen Dashboards, Parsec Dashboards, Google Sheets)
  • Data integration from external sources (REST and non-REST APIs, data feeds, data parsers)
  • Data Infrastructure set-up (Clouds, VMs, DBs)

Mentoring, leadership, and coaching

  • 1:1 session with more senior Analysts and Researchers
  • Continuous, open, and transparent feedback based on facts and quantitative factors
  • Workshops, brainstorming, and design team sessions
  • Regular team meetings to keep the information flow smooth and stable

Research

The Cryptography Research team at Nethermind leverages both theory and implementations to improve, build or break protocols related to cryptography and blockchain technology. The team's projects include zero-knowledge proofs, Distributed Validator Technology, decentralized identity/verifiable credentials, liquid staking on Ethereum, and non-deterministic programming (specifically, Cairo programming).

Check our landing page

Start here! Research team landing page

Skills that you can use and learn working with the Cryptography Research team include:

  • Cryptography
  • Rust/C++/Cairo programming
  • Understanding of blockchain consensus protocols
  • Technical due diligence on novel blockchain projects
  • Communicating research concepts through technical writing
  • Smart-contract implementations, especially those related to zk-proofs
  • Theoretical analysis and implementation of both STARKs and SNARKs
  • Abstract algebra and its applications to cryptography and zero-knowledge
  • Understanding and designing building blocks in Ethereum, such as Distributed Validator Technology, decentralized identity, and liquid staking, among others

Our team is looking for two kinds of people:

  • Cryptography enthusiasts who would enjoy analyzing, breaking, and designing cryptographic schemes.
  • Engineers with some background in cryptography who enjoy making proof of concepts of novel cryptographic protocols, extending cryptographic libraries, and finding vulnerabilities in existing implementations.

A few of the projects Nineveh worked on:

  • Hybrid proof systems from SNARKs and STARKs. In this project, we combine techniques from SNARKs and STARKs to build hybrid proof systems enjoying the bests of both worlds. SNARKs allow for short (constant-size) proofs and efficient verifiers; on the other hand, they require a trusted setup. zkSTARKs are transparent (don't rely on a trusted setup) and have efficient prover while paying the price of longer proof size (logarithmic to the size of the proven statement) and verifier's complexity. We investigate the use of STARK-related primitives like FRI to give zkSNARKs more efficient provers and reduce security assumptions used. In the near future, we plan to implement our hybrid schemes to reveal the concrete efficiency gains our approach brings.
  • Secure storage for mnemonic keys. A common problem with using secret keys is that they may be stolen or lost, causing, for example, the loss of access to staked funds. We are building an application that allows users to securely distribute the key into so-called shares. Only a large enough set of shares can be used to reconstruct the secret, and someone who knows too few secret shares learns nothing. We achieve that by using Shamir's secret sharing scheme. Notably, both the secret and the shares are represented by an easy-to-remember mnemonic.
  • Security analysis of proof systems. In this project, we analyze the security properties of existing zkSNARKs to verify whether they are sufficiently secure for such complex environments as blockchains. To that end, we use provable security methods. Additionally, we analyze existing zkSNARKs and name their security gaps. We show where efficiency-oriented efforts make proof systems unusable due to security vulnerabilities.
  • Sybil resistant operator onboarding. Liquid staking protocol's efficiency and security relies on operators who take the stake provided by users and run validators for them. Various staking protocols have various operators onboarding procedures. Some require DAO approval, some require the prospective operator to put a significant bond. It is also important that the set of operators is decentralized, and no operator can be a single point of failure or can harm the protocol. Hence, it is of utter importance to make sure that no operator controls more stake than allowed. In this project, we aim to design a Sybil-resistant permissionless operator onboarding mechanism. Here Sybil resistance means that it is difficult for a dishonest party to create and maintain multiple operators to control more than the allowed amount of the stake.
  • Towards efficient private state contracts. Currently deployed zk-based private-state smart contracts are limited by the fact that they cannot make state transitions that would involve two more more private states. E.g., it is currently infeasible to make a private exchange protocol, as such protocol would require two parties to compute jointly a transformation of their states. To make this possible, secure multi-party computation (MPC) are used. Unfortunately, combining MPC and ZKP naively, results in a protocols which efficiency is dubious. In this project we aim to find a novel method of combining these two primitives to make the shared state computation as efficient as possible for the widest class of functions.
  • zkSNARKs for CPUs. Virtually all existing zkSNARKs are defined for relations over finite fields. On the other hand, computers perform operations over rings, more precisely $\mathbb{Z}/2^{64}\mathbb{Z}$. In this project, we aim to propose a new zkSNARK for relations defined over rings to benefit from the possibility of performing operations in a way native to CPUs.
  • New lookup arguments. Since zkSNARKs are defined over finite fields (bigger than $\mathbb{F}_2$), making arguments about binary relations is relatively inefficient. To improve the efficiency of such operations lookup arguments are used. That is, instead of showing that some binary operation has been performed correctly, the prover shows that the relation's inputs and outputs are in a precomputed table. Unfortunately, most lookup arguments rely on trusted setup, what make them useless for transparent (i.e. trusted setup-less) zkSNARKs. In this project we aim to provide more efficient transparent and non-transparent lookup arguments.

Links

https://eprint.iacr.org/2022/406

https://medium.com/nethermind-eth/sorting-out-distributed-validator-technology-a6f8ca1bbce3

https://nethermindeth.github.io/lido_phase_1/index.html


Synnax

The Synnax Team deals with security in Blockchain. The activities of the Synnax team are organized into three core groups:

  • The Gauss workgroup is responsible for Smart Contracts Audits using manual inspection and automated analysis tools.
  • The Lamport workgroup deals with the Formal Verification of Smart Contracts. Formal Verification is the act of proving or disproving the correctness of intended algorithms underlying a system concerning a certain formal specification or property using traditional mathematics methods.
  • The Runge workgroup creates tools for monitoring Smart Contracts in real-time.

Below we detail each group.


Gauss Team

The Gauss team focuses on security auditing of Smart Contracts. The team supports clients to achieve higher levels of confidence in their system's security and robustness, relying on manual review and different tools to check for possible vulnerabilities in the code and design.

Skills that you will use and learn in the Gauss team include but are not limited to:

  • Blockchain and Smart Contract Security
  • Ability to detect logical bugs
  • Gas optimization strategies

The ideal candidate for the Gauss team has the following:

  • Previous programming in writing Smart Contracts (Solidity, Cairo, or Rust)
  • Blockchain and Ethereum Virtual Machine background
  • Familiarity with the most common attack vectors for Smart Contracts
  • Previous experience in CTFs
  • Experience running static analyzers for Smart Contracts
  • Written and verbal communication skills in the English language;
  • Attention to detail and ability to diagnose software bugs

To learn more about the smart contract-security auditing internship program, please apply, and we will get back to you.


Lamport

The Lamport team provides Formal Verification services for Smart Contracts and general software for the industry. We leverage the Lean proof assistant to formally verify smart contracts and compilers, and develop open-source tools for the community.

The ideal candidate for the Lamport team has the following:

  • Background on Formal Verification
  • Experience in Writing formal specifications in Lean
  • Knowledge of formally specifying programming languages. (Solidity, Yul, EVM, Cairo, etc.)
  • Background on creating formal specifications of distributed systems
  • Experience in Cryptography, Zero-Knowledge Proofs, and Abstract Algebra
  • Blockchain and Ethereum Virtual Machine background
  • Publishing and presenting research results both internally and externally

Links:

  • https://leanprover.github.io/
  • https://github.com/NethermindEth/Yul-Specification
  • https://medium.com/nethermind-eth/securing-warp-a-formal-specification-of-the-yul-ir-85bb3bf51c62
  • https://github.com/NethermindEth/warp

Runge Team

The Runge Team is responsible for developing real-time monitoring solutions for Blockchain systems. We build generalized and protocol-specific detection bots on the Forta Network. The bots are developed after research into the latest techniques attackers use to exploit protocols, as well as researching the documentation and codebase of protocol clients.

The ideal candidate for the Runge team has the following:

  • Experience in writing and testing TypeScript
  • Experience in reading and writing Solidity
  • Experience in reading protocol documentation and audit reports
  • Ability to provide thorough code reviews
  • Up-to-date knowledge of exploits
  • Knowledge of common DeFi services and products

Links:

  • https://forta.org/
  • https://medium.com/nethermind-eth/nethermind-why-we-are-building-on-forta-85554783b3ea
  • https://github.com/NethermindEth/Forta-Agents
  • https://github.com/NethermindEth/forta-starter-kits

Nethermind Core

https://ethereum.org/en/

https://github.com/NethermindEth/nethermind

The Core team works on Ethereum Protocol Engineering and is the longest-running team at Nethermind. Nethermind is a full Ethereum client implementation written in C# .NET. It runs on all major platforms supporting Ethereum mainnet, Clique, and AuRa chains, as well as Gnosis, Energy Web, and private networks. The Nethermind client comes with additional features, such as Prometheus/Grafana dashboards, seq enterprise logging, and complete JSON RPC, including two formats of tracing. Moreover, it offers a variety of advanced built-in plugins, notably Baseline and MEV.

Skills that you will use and learn at the Core team include but are not limited to:

Technical perspective

  • .NET 6
  • Distributed networks (P2P)
  • Performance and memory optimizations
  • EVM / TransactionPool / JSON RPC
  • Complex data structures Patricia/Merkle/Verkle tries
  • RocksDB

Broader perspective

  • Work on EIP's with Ethereum Foundation and wider Ethereum community
  • Work on Ethereum extensions
  • Open source development

Angkor

https://en.wikipedia.org/wiki/DevOps

This Angkor team is responsible for processes related to product development operations. Building processes, infrastructure, security, cloud, and administration is all within the scope of the Angkor team work.

Skills that you will use and learn at the DevOps team include but are not limited to:

  • Deploy and maintain the blockchain infrastructure in a multi-cloud environment (DigitalOcean, AWS, Google Cloud, Linode, others)
  • Build and maintain company-wide CI/CD pipelines for different projects (Github Actions)
  • Write scripts, lambda functions, and even full applications with the language of your choice (preferably Bash/Python/Golang) that can help us improve the workflow.
  • Bash scripting. Linux knowledge.
  • Ethereum node management
  • Docker and Docker-Compose
  • Monitor the infrastructure with tools like Grafana, Prometheus, Seq, OpsGenie
  • Automate work - yours and others' (Terraform, Ansible)
  • Networking skills
  • High scalable systems
  • SecOps and GitOps related practices
  • Orchestration with Kubernetes

Atlantis

Atlantis Is a new team at Nethermind specializing in Metaverse/NFT. You can be at the beginning of an agency and can wear different hats or be responsible for a specific responsibility.

Skills that you will use and learn at the Metaverse/NFT team include but not limited to:

  • Market research
  • NFT smart contracts development
  • Data analysis and building dashboards, metrics of the market
  • 3D development and design
  • Marketing strategies and creative thinking
  • As a developer, you can build metaverse/nft tools
  • Improve teamwork skills, participate in meetings, and have a personal mentor

Venice (DeFi & Solidity Smart Contracts Development)

https://docs.soliditylang.org/en/v0.8.2/

https://en.wikipedia.org/wiki/Decentralized_finance

This team works on programming Ethereum smart contracts to build systems for DeFi or Decentralized Finance.

Skills that you will use and learn in the Venice team include but are not limited to:

  • Solidity, Truffle, Hardhat, Ganache
  • Decentralized Finance (structured product, derivatives)
  • SDLC or Software Development Lifecycle
  • Software engineering best practices
  • Agile methodology
  • Code review techniques

What are the requirements and pre-requisite to apply?

We are looking for students and recent graduates with a strong background in software engineering, computer science, mathematics, financial mathematics, or quantitative finance.

Previous knowledge in any of the following is helpful:

  • DeFi
  • AMM (automated market maker)
  • Derivatives pricing (Options, Black Scholes, Futures, Swaps)
  • Stochastic calculus
  • Algorithms
  • Cryptography
  • Ethereum

But above all, we look for passion and hunger to work in the blockchain, Ethereum, and DeFi space.


Here's what some of our current interns have to say:

"I'm super excited with this opportunity to take part in such an important project and to work with a team of really talented people. Not only it gives me a chance to learn a lot but also, I'll be able to help in solving real world problems" Carmen Irene Cabrera Rodríguez, Cairo and Layer 2 Research Intern, Nubia team


"Working at Nethermind is nothing short of a journey, every day is a new challenge to learn and grow. The projects are incredibly exciting, and the dedication and grit of the team is unstoppable" Guilherme Heise, Blockchain Data Engineering Intern, Data team


"I recently started an internship at Nethermind, and I can say that, it is one of the best professional experiences I have ever had. Wonderful co-workers, projects on blockchain, DeFi, Ethereum and much more. Definitely a great place to grow, both professionally and personally" Marcos Maceo, Blockchain Engineering Intern


"If you are interested in blockchain, this is a great opportunity. Nethermind is an excellent place to be an intern. There are a lot of interesting projects and everyone wants to help you. The best place to learn." Mauricio Perdomo Cortés, Blockchain Engineering Intern, Venice team


"I was always a blockchain enthusiast and with Nethermind I was able to learn so much more. I got a great opportunity to learn from some great people! During my internship, I explored many projects and contributed to them as well. Now, as full-time employee, I help develop the Warp compiler with a an amazing team!" Rohit Ranjan, Intern, Nubia Team


Join us!

We are always on the lookout for talent!

If what we do excites you, but none of the current open positions match your background, we encourage you to send us your CV at [email protected]

Join our growing and active community of 2000+ developers on our Discord server: https://discord.com/invite/PaCMRFdvWT


In the meantime, keep up to date on what we are working on by following us on our social channels:
https://twitter.com/nethermindeth
https://www.linkedin.com/company/nethermind/

Click here to view our Privacy Policy.